Se dă un număr natural n citit de la tastatură. Să se verifice printr-o funcţie recursivă dacă numărul este prim sau nu.
Se citeşte de la tastatură un număr natural n de maxim 9 cifre. Utilizând o funcţie fără tip recursivă să se afişeze scrierea numărului ca puteri ale lui 2.
Câte cifre impare conţine un număr natural?
Verificaţi dacă o cifră k se află printre cifrele unui număr natural dat.
Să se verifice daca un numar natural contine o cifra para
Sa se scrie o functie recursiva care primeste un parametru n numar natural si afiseaza cifrele sale in ordinea din el si separate prin cate un spatiu.
Recursivitate pentru prelucrare secvente de n valori /Vectori numerici
Citire si afisare vectori (recursiv)
#include <iostream> using namespace std; void citeste(int a[],int i, int n)
Sa se calculeze recursiv de cate ori apare o valoare intreaga x intr-un vector a cu n elemente intregi.
Se citesc numere dintr-un fişier de intrare bac.in .Verificaţi printr-o funcţie recursiva dacă există cel puţin un număr prim.
Să se verifice dacă printre n numere citite se găseşte un număr care are suma cifrelor un număr prim folosind minim o funcţie recursivă
Se citeste de la tastatură un şir cu n componente numere întregi. Să se returneze prin intermediul a doi parametri suma elementelor pare, respectiv produsul elementelor impare. Se va utiliza o funcţie fără tip recursivă.
De la tastatură se citeşte un şir a cu n componente numere reale. Să se afişeze, printr-o funcţie recursivă, elementele şirului în ordine inversă.
Se dă un şir a cu n componente numere întregi şi o valoare k. Să se permute circular elementele şirului cu k poziţii la stânga.
Să se afişeze toate numerele prime cuprinse între două valori naturale citite a si b.
Câte componente pare situate pe poziţii pare conţine un vector de numere naturale
Se da un vector de numere întregi. Să se transforme fiecare element din baza 10 in baza 2 folosind o funcţie recursivă pentru transformare.
De la tastatură se citeşte un şir a cu n componente numere reale. Să se afişeze, printr-o funcţie fără tip recursivă, elementele şirului care sunt pătrate perfecte în ordinea inversă apariţiei în şir.
Se dă un vector cu n componente numere întregi (datele se citesc de la tastatură, n<=50). Răspundeţi următoarelor cerinţe, utilizând subprograme recursive: a) Să se calculeze şi să se afişeze suma componentelor pozitive din vector.b) Să se verifice dacă componentele vectorului sunt ordonate crescător. Se va afişa un mesaj adecvat.
Exemplu: Fie n=5 şi vectorul cu componentele (5,-4,3,7,-1). Se va afişa valoarea 15 şi mesajul “Vectorul nu este ordonat”.
Set II
Se dă un vector cu n componente numere naturale (datele se citesc de la tastatură, n<=50). Să se înlocuiască componentele neprime din vector cu numărul divizorilor acestora. Se vor utiliza subprogramele recursive: nrd care va implementa un algoritm de numărare a divizorilor unui număr natural şi inlocuire prin care se vor înlocui componentele neprime din vector. Exemplu: Dacă vectorul citit este (5,6,1,0,15), după înlocuire devine (5,4,1,0,4).
Se dă un vector cu n componente numere naturale (datele se citesc de la tastatură, n<=50). Să se afişeze componentele vectorului care conţin o cifră dată, nenulă (cifra se citeşte de la tastatură). Se vor utiliza subprogramele recursive:-verific care va implementa un algoritm pentru verificarea existenţei unei cifre într-un număr;-afiş pentru afişarea componentelor unui vector care conţin o cifră dată.Exemplu: Dacă vectorul citit este (15,621,14,502,155) şi c=5 se vor afişa valorile: 15 502 155.
Se citeste un vector a cu n elemente numere intregi. Construiti si afisati doi vectori b si c contruiti astfel: - vectorul b contine elementele pare din vectorul a
- vectorul c contine elementele impare din vectorul a
Se vor folosi functii recursive pentru citire si afisare, precum si pentru construirea celor doi vectori ceruti.
Exemplu:
date.in
7
2 5 7 9 2 5 4
date.out
2 2 4
5 7 9 5
a) Scrieti o functie recursiva cifra cu doi parametri n si c unde n e numar natural, iar c este o cifra si care returneaza de cate ori apare cifra c printre cifrele numarului n. b) Scrieti o functie recursiva cifre cu trei parametri a, n si c unde a e un vector cu cel mult 100 de elemente numere naturale, n e numar natural reprezentand numarul de elemente din vectorul a, iar c este o cifra si care returneaza de cate ori apare cifra c in total in cele n numere din vectorul a (va folosi functia cifra).
c) Se citeste un numar n si un vector a cu n elemente numere naturale. Folosind functia cifre determinati si afisati cifrele care apar de un numar maxim de ori in numerele din vectorul a.
Exemplu: n=6, a={7, 9, 373, 127, 733, 661} => 3 7
Se citeste un vector a cu n elemente numere naturale. Inlocuiti fiecare element din vector cu suma cifrelor care au aceeasi paritate cu pozitia elementului. Se vor folosi functii recursive pentru toate prelucrarile. Ex: 4
23 332 123 54
se vor afisa valorile: 3 2 4 4
Se citeste un vector a cu n elemente numere intregi. Construiti un vector b care sa contina elementele distincte din vectorul a. Toate prelucrarile vor fi realizate folosind functiile recursive pentru citire, afisare, cautare, constructie vector b.
Recursivitate pentru prelucrarea matricelor
Din fişierul text MAT.IN se citeşte o matrice pătratică de dimensiune nxn. Să se afişeze, printr-o funcţie recursivă, elementele de sub diagonala principală, exclusiv diagonala.
Verificaţi dacă o matrice este triunghiular superioară, faţă de diagonal principală, folosind o funcţie recursivă.
Din fişierul text MAT.IN se citeşte o matrice pătratică de dimensiune nxn. Să se afişeze, printr-o funcţie fără tip recursivă, elementele de sub diagonala secundară, inclusiv diagonala.
Din fişierul text MAT.IN se citeşte o matrice pătratică de dimensiune nxn. Să se afişeze, printr-o funcţie fără tip recursivă, elementele de deasupra diagonalei principale, inclusiv diagonala.
Recursivitate pentru prelucrare număr
Recursivitate pentru prelucrare secvente de n valori /Vectori numerici
Citire si afisare vectori (recursiv)
using namespace std;
void citeste(int a[],int i, int n)
{
if(i<n)
{ cout<<"a["<<i<<"]=";
cin>>a[i];
citeste(a,i+1,n);
}
}
void citeste2(int a[], int n)
{
if(n>=0)
{
citeste2(a,n-1);
cout<<"a["<<n<<"]=";
cin>>a[n];
}
}
{
if(i<n)
{cout<<a[i]<<" ";
scrie(a,i+1,n);
}
}
void scrie2(int a[], int n)
{
if(n>=0)
{
scrie2(a,n-1);
cout<<a[n]<<" ";
}
}
void scrie3(int a[], int n)
{
if(n>=0)
{cout<<a[n]<<" ";
scrie3(a,n-1);
}
}
{int a[10],n;
cin>>n;
citeste(a,0,n);
citeste2(a,n-1);
scrie(a,0,n);
scrie2(a,n-1);
cout<<endl;
scrie3(a,n-1);
}
Set I
- Sa se calculeze recursiv de cate ori apare o valoare intreaga x intr-un vector a cu n elemente intregi.
- Se citesc numere dintr-un fişier de intrare bac.in .Verificaţi printr-o funcţie recursiva dacă există cel puţin un număr prim.
- Să se verifice dacă printre n numere citite se găseşte un număr care are suma cifrelor un număr prim folosind minim o funcţie recursivă
- Se citeste de la tastatură un şir cu n componente numere întregi. Să se returneze prin intermediul a doi parametri suma elementelor pare, respectiv produsul elementelor impare. Se va utiliza o funcţie fără tip recursivă.
- De la tastatură se citeşte un şir a cu n componente numere reale. Să se afişeze, printr-o funcţie recursivă, elementele şirului în ordine inversă.
- Se dă un şir a cu n componente numere întregi şi o valoare k. Să se permute circular elementele şirului cu k poziţii la stânga.
- Să se afişeze toate numerele prime cuprinse între două valori naturale citite a si b.
- Câte componente pare situate pe poziţii pare conţine un vector de numere naturale
- Se da un vector de numere întregi. Să se transforme fiecare element din baza 10 in baza 2 folosind o funcţie recursivă pentru transformare.
- De la tastatură se citeşte un şir a cu n componente numere reale. Să se afişeze, printr-o funcţie fără tip recursivă, elementele şirului care sunt pătrate perfecte în ordinea inversă apariţiei în şir.
- Se dă un vector cu n componente numere întregi (datele se citesc de la tastatură, n<=50). Răspundeţi următoarelor cerinţe, utilizând subprograme recursive:
Exemplu:a) Să se calculeze şi să se afişeze suma componentelor pozitive din vector.b) Să se verifice dacă componentele vectorului sunt ordonate crescător. Se va afişa un mesaj adecvat.
Fie n=5 şi vectorul cu componentele (5,-4,3,7,-1). Se va afişa valoarea 15 şi mesajul “Vectorul nu este ordonat”.
Set II
- vectorul c contine elementele impare din vectorul a
Se vor folosi functii recursive pentru citire si afisare, precum si pentru construirea celor doi vectori ceruti.
Exemplu:
date.in
7
2 5 7 9 2 5 4
date.out
2 2 4
5 7 9 5
c) Se citeste un numar n si un vector a cu n elemente numere naturale. Folosind functia cifre determinati si afisati cifrele care apar de un numar maxim de ori in numerele din vectorul a.
Exemplu: n=6, a={7, 9, 373, 127, 733, 661} => 3 7
23 332 123 54
se vor afisa valorile: 3 2 4 4
Recursivitate pentru prelucrarea matricelor